package concesionario.source;

import java.io.Serializable;
import java.util.List;
import java.util.ArrayList;


public class Cliente extends Persona implements Serializable{
    
 
 private List<Coche> cochesReservados= new ArrayList<Coche>();
 private List<Coche> cochesComprados= new ArrayList<Coche>();
 
 
 
public Cliente(String dniCl,String domCl,String NomCl,String tlfCl){
    
  super(NomCl,dniCl,domCl,tlfCl);
  cochesReservados = new ArrayList<Coche>();  
  cochesComprados  = new ArrayList<Coche>();  

}


//métodos Get
  
   public Coche getCocheR(int i){
    
        return this.cochesReservados.get(i);
        
    }
   public int getSizeCocheR(){
   
   
       return this.cochesReservados.size();
   
   }
   public Coche getCocheCom(int i){
    
        return this.cochesComprados.get(i);
        
    }
   public int getSizeCocheCom(){
   
   
       return this.cochesComprados.size();
   
   }
public void AgregarCocheComprado (Coche c){
    if(c.getEstado().equals(Coche.EN_VDD)){
        cochesComprados.add(c);
    }
}
 
public void AgregarCocheReservado (Coche c){
    if(c.getEstado().equals(Coche.EN_RES)){
        cochesReservados.add(c);
    }    
}

public void EliminarCocheReservado(Coche c){

    this.cochesReservados.remove(c);

}


public boolean cocheNoReservadoCliente(){
   
     return cochesReservados.isEmpty();
}
public boolean cocheNoCompradoCliente(){
   
     return cochesComprados.isEmpty();
}


@Override
  public String toString() {
      return this.getDNI()+" "+this.getNombre()+" "+this.getDomicilio()+" "+this.getTelefono();
  } 
 


}
